package cn.iocoder.yudao.module.written.exam.controller.admin.member.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 笔试会员 Response VO")
@Data
@ExcelIgnoreUnannotated
public class WrittenExamMemberRespVO {

    @Schema(description = "用户ID", example = "10188")
    @ExcelProperty("用户ID")
    private Long userId;

    @Schema(description = "用户头像", example = "https://timecloudbox.oss-cn-guangzhou.aliyuncs.com/a28bba210f52827562ddb6294ab6de7cb25e093ebb321b5fd0cfd71a6aea4349.jpg")
    @ExcelProperty("用户头像")
    private String avatar;

    @Schema(description = "手机号", example = "131123456789")
    @ExcelProperty("手机号")
    private String mobile;

    @Schema(description = "用户昵称", example = "张三")
    @ExcelProperty("用户昵称")
    private String nickname;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("状态")
    private Integer status;

    @Schema(description = "可用积分", example = "131123456789")
    @ExcelProperty("可用积分")
    private Integer points;

    @Schema(description = "邀请码", example = "be3e07d5bc")
    @ExcelProperty("邀请码")
    private String inviteCode;

    @Schema(description = "最后登录时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("最后登录时间")
    private LocalDateTime loginDate;

    @Schema(description = "注册时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("注册时间")
    private LocalDateTime regTime;

    @Schema(description = "推广佣金", example = "123")
    @ExcelProperty("推广佣金")
    private Integer totalCommission;

    @Schema(description = "可提现金额", example = "123")
    private Integer withdrawAvailable;

    @Schema(description = "已提现金额", example = "123")
    private Integer totalWithdrawSucc;

    @Schema(description = "可退款金额", example = "123")
    private Integer refundAvailable;

    @Schema(description = "套餐累计充值金额", example = "123")
    private Integer packageTotalPrice;

}